package com.wicket.okrframework.integration;

import com.wicket.okrframework.common.ro.OkrResult;
import com.wicket.okrframework.integration.dto.*;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import  com.wicket.okrframework.integration.dto.*;
import  com.wicket.okrframework.integration.dto.*;
import  com.wicket.okrframework.integration.dto.*;
import  com.wicket.okrframework.integration.dto.*;
import  com.wicket.okrframework.integration.dto.*;

/**
 * @author ：
 * @date ：
 *
 *
 * @version 1.0
 */
@FeignClient("framework")
public interface FwBaseBusinessObjectClient {
    /**
   * D1-查询用户登录信息
   */
    @PostMapping("/base/businessObject/queryUserLoginInfo")
    public OkrResult<QueryUserLoginInfoRespDto> queryUserLoginInfo(QueryUserLoginInfoReqDto reqDTO);

    /**
   * D1-用户登录验证
   */
    @PostMapping("/base/businessObject/userLogin")
    public OkrResult<UserLoginRespDto> userLogin(UserLoginReqDto reqDTO);

    /**
   * D1-工号信息验证
   */
    @PostMapping("/base/businessObject/checkLoginNumber")
    public OkrResult<CheckLoginNumberRespDto> checkLoginNumber(CheckLoginNumberReqDto reqDTO);

    /**
   * D1-1批量查询业务对象列表（集合公用）
   */
    @PostMapping("/base/businessObject/batchQueryBizObjectList")
    public OkrResult<BatchQueryBizObjectListRespDto> batchQueryBizObjectList(BatchQueryBizObjectListReqDto reqDTO);

    /**
   * D1-1查询对象属性类型关系列表
   */
    @PostMapping("/base/businessObject/queryObjTypeRelationList")
    public OkrResult<QueryObjTypeRelationListRespDto> queryObjTypeRelationList(QueryObjTypeRelationListReqDto reqDTO);

    /**
   * D1-1查询对象属性列表
   */
    @PostMapping("/base/businessObject/queryObjAttributeList")
    public OkrResult<QueryObjAttributeListRespDto> queryObjAttributeList(QueryObjAttributeListReqDto reqDTO);

    /**
   * D1-1查询业务对象列表
   */
    @PostMapping("/base/businessObject/queryBizObjectList")
    public OkrResult<QueryBizObjectListRespDto> queryBizObjectList(QueryBizObjectListReqDto reqDTO);

    /**
   * 登录成功生成Token
   */
    @PostMapping("/base/businessObject/createToken")
    public OkrResult<CreateTokenRespDto> createToken(CreateTokenReqDto reqDTO);

    /**
   * D1-1查询对象属性详情
   */
    @PostMapping("/base/businessObject/queryObjAttributeDetail")
    public OkrResult<QueryObjAttributeDetailRespDto> queryObjAttributeDetail(QueryObjAttributeDetailReqDto reqDTO);

    /**
   * D1-1修改对象属性类型关系
   */
    @PostMapping("/base/businessObject/updateObjTypeRelation")
    public OkrResult<UpdateObjTypeRelationRespDto> updateObjTypeRelation(UpdateObjTypeRelationReqDto reqDTO);

    /**
   * D1-1新增对象属性类型关系
   */
    @PostMapping("/base/businessObject/addObjTypeRelation")
    public OkrResult<AddObjTypeRelationRespDto> addObjTypeRelation(AddObjTypeRelationReqDto reqDTO);

    /**
   * D1-1修改对象属性
   */
    @PostMapping("/base/businessObject/updateObjAttribute")
    public OkrResult<UpdateObjAttributeRespDto> updateObjAttribute(UpdateObjAttributeReqDto reqDTO);

    /**
   * D1-1新增对象属性
   */
    @PostMapping("/base/businessObject/addObjAttribute")
    public OkrResult<AddObjAttributeRespDto> addObjAttribute(AddObjAttributeReqDto reqDTO);

    /**
   * D1-1查询业务对象详情
   */
    @PostMapping("/base/businessObject/queryBizObjectDetail")
    public OkrResult<QueryBizObjectDetailRespDto> queryBizObjectDetail(QueryBizObjectDetailReqDto reqDTO);

    /**
   * D1-1修改业务对象
   */
    @PostMapping("/base/businessObject/updateBizObject")
    public OkrResult<UpdateBizObjectRespDto> updateBizObject(UpdateBizObjectReqDto reqDTO);

    /**
   * D1-1新增业务对象
   */
    @PostMapping("/base/businessObject/addBizObject")
    public OkrResult<AddBizObjectRespDto> addBizObject(AddBizObjectReqDto reqDTO);

    /**
     * D1-1删除业务场景---待删除
     */
    @PostMapping("/base/businessObject/deleteBizScene")
    public OkrResult<DeleteBizSceneRespDto> deleteBizScene(DeleteBizSceneReqDto reqDTO);

    /**
     * D1-1删除业务应用---待删除
     */
    @PostMapping("/base/businessObject/deleteBizAppScene")
    public OkrResult<DeleteBizAppSceneRespDto> deleteBizAppScene(DeleteBizAppSceneReqDto reqDTO);

    /**
     * D1-1删除对象属性类型关系
     */
    @PostMapping("/base/businessObject/deleteObjTypeRelation")
    public OkrResult<DeleteObjTypeRelationRespDto> deleteObjTypeRelation(DeleteObjTypeRelationReqDto reqDTO);

    /**
   * D1-3新增就职记录
   */
    @PostMapping("/base/businessObject/addInductionRecord")
    public OkrResult<AddInductionRecordRespDto> addInductionRecord(AddInductionRecordReqDto reqDTO);

    /**
     * D1-1删除对象属性
     */
    @PostMapping("/base/businessObject/deleteObjAttribute")
    public OkrResult<DeleteObjAttributeRespDto> deleteObjAttribute(DeleteObjAttributeReqDto reqDTO);
/**
   * D1-1删除标签
   */
    @PostMapping("/base/businessObject/deleteTag")
    public OkrResult<DeleteTagRespDto> deleteTag(DeleteTagReqDto reqDTO);
/**
   * D1-1批量查询对象属性列表
   */
    @PostMapping("/base/businessObject/batchQueryObjAttributeList")
    public OkrResult<BatchQueryObjAttributeListRespDto> batchQueryObjAttributeList(BatchQueryObjAttributeListReqDto reqDTO);
/**
   * D1查询对象属性列表(公共)
   */
    @PostMapping("/base/businessObject/queryObjAttributeListCom")
    public OkrResult<QueryObjAttributeListComRespDto> queryObjAttributeListCom(QueryObjAttributeListComReqDto reqDTO);
    //
}
